package booroo.basic;

import java.util.Scanner;

public class J08_Array {

	public static void main(String[] args) {
		// 배열 array
		// 동일한 종류의 여러개의 값들을 저장할 수 있는 자료구조
		// 배열에 저장되는 내용을 요소element라 하고 
		// 각 값은 위치값index을 이용해서 접근할 수 있음
		// 위치값은 0부터 시작		
		
		// 배열 변수 선언
		int numbers[];	// 정수형 배열
		double taxes[];	// 실수형 배열
		char names[];	// 문자형 배열
		
		// 배열 생성
		numbers = new int[10];	// 10개의 정수저장
		taxes = new double[10];	// 10개의 실수저장
		names = new char[10];	// 10개의 문자저장
		
		System.out.println(numbers);
		System.out.println(taxes);
		System.out.println(names);
		
		System.out.println(numbers[0]);
		System.out.println(numbers[1]);
		System.out.println(numbers[9]);
		System.out.println(taxes[0]);
		System.out.println(taxes[1]);
		System.out.println(taxes[9]);
		
		names[0] ='수';
		names[1] ='지';
		names[2] ='!';
		System.out.print(names);
		System.out.println();
		System.out.println(names[0]);
		System.out.println(names[1]);
		System.out.println(names[2]);
		
		System.out.println(""+names);
		
		// numbers에 1~10까지 값 저장
		/*numbers[0] = 1;
		numbers[1] = 2;
		numbers[2] = 3;
		numbers[3] = 4;
		numbers[4] = 5;
		numbers[5] = 6;
		numbers[6] = 7;
		numbers[7] = 8;
		numbers[8] = 9;
		numbers[9] = 10;
		System.out.println(numbers[0]);
		System.out.println(numbers[2]);
		System.out.println(numbers[4]);
		System.out.println(numbers[6]);
		System.out.println(numbers[8]);
		
		// 반복문을 이용한 배열 처리
		for(int i = 0; i <= 9; ++i){
			numbers[i] = i+1;
		}
		for(int i = 1; i <= 10; ++i){
			numbers[i-1] = i;
		}*/
		
		Scanner sc = new Scanner(System.in);
		System.out.println("정수 5개를 입력하세요 : ");
		/*int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = sc.nextInt();
		int num4 = sc.nextInt();
		int num5 = sc.nextInt();
		// 각 코드에 공통요소가 없기 때문에 반복문으로 변경 불가!
		*/
		int nums[] = new int[5];
		/*nums[0] = sc.nextInt();
		nums[1] = sc.nextInt();
		nums[2] = sc.nextInt();
		nums[3] = sc.nextInt();
		nums[4] = sc.nextInt();*/
		for(int i = 0;i <= 4;++i){
			nums[i] = sc.nextInt();
			}
		// 배열의 각 요소를 단순히 순차적으로 처리할 목적이면 for-each를 사용
		for(int j : nums){
			System.out.print(j + "  ");
		}
		sc.close();
		System.out.println();
		// 배열의 크기 알아내기 : 배열의 이름.length
		System.out.println(nums.length);
		System.out.println(numbers.length);
		
		// 배열사용시 볼 수 있는 오류
		double vals[] = new double[100];
		vals[0] = 100.0;
		// vals[100] = 100.0;
		// ArrayIndexOutOfBoundsException 발생(예외발생)
		System.out.println();
		}
}
